package com.qf.mq.pubsub;

import com.qf.mq.utils.MqUtils;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;

public class EmitLog {
    private static final String EXCHANGE_NAME = "logs";

    public static void main(String[] args) throws Exception{

        final Connection connection = MqUtils.getConnection();

        final Channel channel = connection.createChannel();

        /**
         * 声明交换机
         * 第一个参数，交换机的名字
         * 第二个参数，交换机的类型，fanout代表发布订阅模式
         */
        channel.exchangeDeclare(EXCHANGE_NAME, "fanout");

        String message = "hello fanout!";

        /**
         * 第一个参数，交换机的名字
         * 第二参数，routingkey，如果时fanout类型的交换机，可以是空串
         * 因为这种交换机会把收到的消息投递到所有关联的队列中，不需要路由规则
         */
        channel.basicPublish(EXCHANGE_NAME, "", null, message.getBytes("UTF-8"));
        System.out.println(" [x] Sent '" + message + "'");


        channel.close();
        connection.close();

    }
}
